歷經三天病懨懨的日子後,今天要來紀錄的是由欄位配對判斷進行資料表連接(Column Matching for Joins)
建立範例資料
library(dplyr)
# 建立表格 x
x <- tribble(
~A, ~B, ~C,
"a", "t", 1,
"b", "u", 2,
"c", "v", 3
)
# 建立表格 y
y <- tribble(
~A, ~B, ~D,
"a", "t", 3,
"b", "u", 2,
"d", "w", 1
)
以下針對不同的 left_join() 使用情境進行演示
# 使用相同名稱的欄位 A 進行匹配
result1 <- left_join(x, y, by = join_by(A))
print(result1)
# 使用欄位 A 和 B 進行匹配
result2 <- left_join(x, y, by = join_by(A, B))
print(result2)
3.匹配不同名稱的欄位
當兩個資料表的欄位名稱不相同時,可以使用邏輯語句來指定匹配的欄位:
# 使用 C 與 D 進行匹配,雖然它們的名稱不同
result3 <- left_join(x, y, by = join_by(C == D))
print(result3)
4.使用後綴解決名稱衝突
如果合併後兩個資料表中有相同名稱的欄位,suffix 參數可以幫助我們自定義這些欄位的後綴:
# 使用 C 與 D 進行匹配,並指定欄位後綴
result4 <- left_join(x, y, by = join_by(C == D), suffix = c("1", "2"))
print(result4)
參考資料: